include(cc_library)

cc_library(
  NAME 
    api_service
  HDRS
    api_service.h
    api_service_impl.h
    call.h
    completion_service_impl.h
    chat_service_impl.h
    embedding_service_impl.h
    image_generation_service_impl.h
    rerank_service_impl.h
    qwen3_rerank_service_impl.h
    non_stream_call.h
    service_impl_factory.h
    stream_call.h
    models_service_impl.h
    stream_output_parser.h
  SRCS
    api_service.cpp
    call.cpp
    completion_service_impl.cpp
    chat_service_impl.cpp
    embedding_service_impl.cpp
    image_generation_service_impl.cpp
    models_service_impl.cpp
    rerank_service_impl.cpp
    stream_output_parser.cpp
    qwen3_rerank_service_impl.cpp
  DEPS
    :master
    :chat_template
    :util
    glog::glog
    proto::xllm_proto
    absl::flat_hash_set
    absl::random_random
    :function_call
    :reasoning
    torch
    $<$<BOOL:${USE_NPU}>:torch_npu>
)

